import request from '@/config/axios'

// 邮箱账号 VO
export interface MailAccountVO {
  id: number // 主键
  mail: string // 邮箱
  username: string // 用户名
  password: string // 密码
  host: string // SMTP 服务器域名
  port: number // SMTP 服务器端口
  sslEnable: boolean // 是否开启 SSL
  starttlsEnable: boolean // 是否开启 STARTTLS
}

// 邮箱账号 API
export const MailAccountApi = {
  // 获取邮箱账号分页
  getMailAccountPage: async (params: PageParam) => {
    return await request.get({ url: `/system/mail-account/page`, params })
  },

  // 获取邮箱账号精简信息列表
  getMailAccountSimpleList: async () => {
    return await request.get({ url: `/system/mail-account/simple-list` })
  },

  // 获取邮箱账号详情
  getMailAccount: async (id: number) => {
    return await request.get({ url: `/system/mail-account/get`, params: { id } })
  },

  // 新增邮箱账号
  createMailAccount: async (data: MailAccountVO) => {
    return await request.post({ url: `/system/mail-account/create`, data })
  },

  // 修改邮箱账号
  updateMailAccount: async (data: MailAccountVO) => {
    return await request.post({ url: `/system/mail-account/update`, data })
  },

  // 删除邮箱账号
  deleteMailAccount: async (id: number) => {
    return await request.delete({ url: `/system/mail-account/delete`, params: { id } })
  },

  // 导出邮箱账号 Excel
  exportMailAccount: async (params) => {
    return await request.download({ url: `/system/mail-account/export-excel`, params })
  }
}
